//package cn.itrip.common;
//
//
//import cn.itrip.beans.dto.Dto;
//import cn.itrip.beans.vo.HotCityVo;
//import cn.itrip.beans.vo.ItripHotelVo;
//import cn.itrip.beans.vo.ReturnSearchHotel;
//import cn.itrip.beans.vo.SearchQueryVo;
//import org.apache.solr.client.solrj.SolrQuery;
//
//import org.apache.solr.client.solrj.SolrServerException;
//import org.apache.solr.client.solrj.impl.HttpSolrClient;
//import org.apache.solr.client.solrj.response.QueryResponse;
//
//
//import java.io.IOException;
//import java.util.List;
//
//public class SolrjUtil {
//
//    private  HttpSolrClient httpSolrClient;
//    private  QueryResponse queryResponse = null;
//
//    public SolrjUtil(HttpSolrClient httpSolrClient){
//        this.httpSolrClient=httpSolrClient;
//    }
//
//    public Dto search(SearchQueryVo sqv){
//
//        //创建查询对象
//        SolrQuery solrQuery = new SolrQuery();
//        solrQuery.setQuery("*:*");//Q
//        if (null!=sqv){
//            if (sqv.getAscSort()!=null && ""!=sqv.getAscSort()){//升序
//                solrQuery.addSort(SolrQuery.SortClause.create(sqv.getAscSort(), SolrQuery.ORDER.asc));
//            }
//            if (sqv.getDescSort()!=null && ""!=sqv.getDescSort()){//降序
//                solrQuery.addSort(SolrQuery.SortClause.create(sqv.getAscSort(), SolrQuery.ORDER.desc));
//            }
//
//            if (sqv.getDestination()!=null && ""!=sqv.getDestination() ){//目的地
//                solrQuery.setQuery("destination:"+sqv.getDestination());
//            }
//            if (sqv.getFeatureIds()!=null && ""!=sqv.getFeatureIds()){//酒店特色
//                solrQuery.addFilterQuery("featureIds:"+sqv.getFeatureIds());
//            }
//            if (sqv.getHotelLevel()!=null && ""!=sqv.getHotelLevel()){//酒店等级
//                solrQuery.addFilterQuery("hotelLevel:",sqv.getHotelLevel());
//            }
//
//            if (sqv.getKeywords()!=null && ""!=sqv.getKeywords()){//关键词
//                System.out.println(sqv.getKeywords());
//                solrQuery.setQuery("keywords:"+sqv.getKeywords());
//            }
//            if (sqv.getMaxPrice()!=null && ""!=sqv.getMaxPrice()){//最高价
//                System.out.println(sqv.getMaxPrice());
//                solrQuery.addFilterQuery("maxPrice:",sqv.getMaxPrice());
//            }
//            if (sqv.getMinPrice()!=null && ""!=sqv.getMinPrice()){//最低价
//                System.out.println(sqv.getMinPrice());
//                solrQuery.addFilterQuery("minPrice:",sqv.getMinPrice());
//            }
//            if (sqv.getTradeAreaIds()!=null && ""!=sqv.getTradeAreaIds()){//商圈
//                System.out.println(sqv.getTradeAreaIds());
//                solrQuery.addFilterQuery("tradeAreaIds:",sqv.getTradeAreaIds());
//            }
//        }
//
//        //执行查询
//        List<ReturnSearchHotel> hotelList = null;
//        try {
//            queryResponse = httpSolrClient.query(solrQuery);
//            hotelList = queryResponse.getBeans(ReturnSearchHotel.class);
//        } catch (SolrServerException e) {
//            e.printStackTrace();
//        } catch (IOException e) {
//            e.printStackTrace();
//        }
//        long count = hotelList.size();
//        long pageno = 1;
//        if (""!=sqv.getPageNo()) {
//            pageno=Long.parseLong(sqv.getPageNo());
//        }
//        int start = 0;
//        if (""!=sqv.getPageNo()){
//            int num = Integer.parseInt(sqv.getPageNo()) - 1;
//            start = num*5;
//        }
//        solrQuery.setStart(start);
//        int rows = 5;
//        if (""!=sqv.getPageSize()){//页大小9+-
//            rows = 5 * Integer.parseInt(sqv.getPageNo());
//        }
//        solrQuery.setRows(rows);
//        System.out.println(sqv.getPageNo());
//        System.out.println(solrQuery);
//
//        try {
//            queryResponse = httpSolrClient.query(solrQuery);
//            hotelList = queryResponse.getBeans(ReturnSearchHotel.class);
//        } catch (SolrServerException e) {
//            e.printStackTrace();
//        } catch (IOException e) {
//            e.printStackTrace();
//        }
//        ItripHotelVo itripHotelVo = new ItripHotelVo();
//        itripHotelVo.setRows(hotelList);
//        itripHotelVo.setTotal(count);
//        long pageCount = count%5==0?count/5:count/5+1;
//        itripHotelVo.setBeginPos((pageno-1)*5);
//        itripHotelVo.setPageCount(pageCount);
//        itripHotelVo.setCurPage(pageno);
//        itripHotelVo.setPageSize(5);
//        return DtoUtils.getSuccesDto(itripHotelVo);
//    }
//
//
//    public Dto search(HotCityVo hotCityVo){
//        //创建查询对象
//        SolrQuery solrQuery = new SolrQuery();
//        solrQuery.setQuery("*:*");//关键词
//        if (hotCityVo.getCount()!=null){//页大小
//            solrQuery.setStart(0);
//            solrQuery.setRows(Integer.parseInt(hotCityVo.getCount()));
//        }
//        if (hotCityVo.getCityId()!=null){//id
//            solrQuery.set("countryId",hotCityVo.getCityId());
//        }
//        //执行查询
//        List<ReturnSearchHotel> hotelList = null;
//        try {
//            queryResponse = httpSolrClient.query(solrQuery);
//            hotelList = queryResponse.getBeans(ReturnSearchHotel.class);
//        } catch (SolrServerException e) {
//            e.printStackTrace();
//        } catch (IOException e) {
//            e.printStackTrace();
//        }
//        return DtoUtils.getSuccesDto(hotelList);
//    }
//
//}
